package com.whfc.ms.api.hdc.service;

import com.whfc.common.result.PageData;
import com.whfc.hdc.dto.AlgDeviceDataDTO;
import com.whfc.hdc.params.AlgDeviceConfigParam;

import java.util.Date;
import java.util.List;

/**
 * @author qzexing
 * @version 1.0
 * @date 2021-07-19 16:31
 */
public interface MsAlgService {

    /**
     * 获取算法盒子列表
     *
     * @param pageNum  页码
     * @param pageSize 每页数量
     * @param keyword  搜索关键字
     * @return 算法盒子列表
     */
    PageData<AlgDeviceDataDTO> list(Integer pageNum, Integer pageSize, String keyword);

    /**
     * 算法盒子历史数据
     *
     * @param sn        设备SN
     * @param pageNum   页码
     * @param pageSize  每页数量
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @return 算法盒子历史数据
     */
    PageData<AlgDeviceDataDTO> getDataLog(String sn, Integer pageNum, Integer pageSize, Date startTime, Date endTime);

    /**
     * 获取配置信息
     *
     * @param sn         设备SN
     * @param configCode 配置编码
     * @return 配置信息
     */
    List<String> getConfig(String sn, String configCode);

    /**
     * 设置配置信息
     *
     * @param params 配置信息
     */
    void setConfig(AlgDeviceConfigParam params);

}
